package org.jeecg.common.system.vo;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.common.system.base.entity.LoginCusInfo;
import org.jeecg.common.system.base.entity.LoginOrganization;
import org.jeecg.common.system.base.entity.LoginRole;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 在线用户信息
 * </p>
 *
 * @Author scott
 * @since 2018-12-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class LoginUser {

	/**
	 * 登录人id
	 */
	private String id;

	/**
	 * 登录人账号
	 */
	private String username;

	/**
	 * 登录人名字
	 */
	private String realname;

	/**
	 * 登录别名
	 */
	private String nickname;

	/**
	 * 证件类型
	 */
	@Dict(dicCode = "user_credentials_type")
	private Integer credentialsType;

	/**
	 * 证件号码
	 */
	private String credentialsNumber;

	/**
	 * CA证书
	 */
	private String caCertification;

	/**
	 * 认证方式
	 */
	@Dict(dicCode = "user_authentication_mode")
	private Integer authenticationMode;


	/**
	 * 登录人密码
	 */
	private String password;

	/**
	 * 电子邮件
	 */
	private String email;

	/**
	 * 电话
	 */
	private String phone;

	/**
	 * 状态(1：正常 2：冻结 ）
	 */
	@Dict(dicCode = "user_status")
	private Integer status;

	private Integer delFlag;

	/**
	 * 创建时间
	 */
	private Date createTime;

    /**
     * 用户关联的角色列表
     */
    private List<LoginRole> roles;

    /**
     * 用户所属的机构
     */
    private LoginOrganization organization;

    /**
     * 用户所属的客户ID
     */
    private Integer cusNo;

    /**
     * 用户所属的客户
     */
//    private LoginCusInfo cusInfo;

    /**
	 *
	 * 机构Id
	 * */
	private String organizationId;



}
